const app=getApp()
const util =require( "../../utils/utilxx");
let shouchangState=false;
Page({
    data: {
        myStarImgUrl:"/images/shoucang.png",
        show:false,
        // 最下方输入评论栏的默认文字信息：
        placeHolder:"这里可以添加附加备注哟...",
    }, 

   // 0.---提醒登陆的弹出层
    // (1)控制弹出层的关闭/隐藏：
    onClose() {
        this.setData({ show: false });
      },
    // (2)button绑定的获取用户信息事件：
    getuserInfo(){ 
        wx.getUserProfile({
            desc: '获取用户必要的信息',
            success: (res) => {
                this.setData({ show: false }),
                app.globalData.userInfo=res.userInfo,
                // console.log(res.userInfo), 
                wx.showToast({
                    title: '授权成功',
                    icon:"success"
                  })
            }
        })     
    }, 

    // 1.点击收藏图标-触发收藏：
    starClick(e){
        // 模仿点赞方式来写：
        if(app.globalData.userInfo==null){
            this.setData({ show: true });
        } 
        else{
            var that=this
            var startag=false

            // 2.1 先【查询】then【获取当前整个数据列表/记录(get)】————doc即（通过app.globalData.currentTargetTieZiId）【查询】定位到当前帖子
            wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                success(res){
                    //2.1.0 先判断之前是否收藏过：
                    // ★★★ res.data就是查询到的帖子的整个记录/列表信息。循环遍历语句这里使用的item即代指前面的res.data.likeList
                    var starIndex
                    for(var l in res.data.starList){
                        if(res.data.starList[l]== app.globalData.openid){
                            startag=true
                            starIndex=l
                            break
                        }
                    }

                    console.log("测试",startag)
                    //Ⅰ.若之前未收藏过（通过openid查询）,再次点击——【添加收藏记录】
                    if(!startag){
                        // ★★★ res.data就是查询到的帖子的整个记录/列表信息。
                        res.data.starList.push(app.globalData.openid)
                        console.log("starClick()事件-之前未收藏过-当前收藏列表(starList)信息：",res.data.starList)
                        //2.2 update【更新】操作
                        wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).update({
                            data:{
                                starList:res.data.starList
                            },
                            success(res){ 
                                wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                                    success(res){
                                        // console.log("likeClick()事件-当前luntan页面从云数据库获取到的app.globalData.currentTargetTieZiId数据，即res.data有：",res.data)
                                         //转换时间格式：
                                        res.data.posttime=util.formatTime(new Date(res.data.posttime));
                                        // 在每次刷新时都保证原有的时间格式：  
                                        for(var j in res.data.commentList){    
                                            res.data.commentList[j].time=util.formatTime(new Date(res.data.commentList[j].time));    
                                        }
                                        // 在每次刷新时都保证原有的收藏状态：  
                                            for(var t in res.data.starList){
                                                if(res.data.starList[t]==app.globalData.openid){
                                                    // 若检测到starList列表有当前用户id，会新增一个isStar属性：
                                                    res.data.isStar=true
                                                }else{
                                                    res.data.isStar=false
                                                }
                                        }

                                        that.setData({
                                            currentTizi: res.data
                                        })
                                    }
                                })
                        }
                        })
                    }else{     
                    //Ⅱ.若之前已收藏过（通过openid查询），再次点击——【删除】收藏记录
                    res.data.starList.splice(starIndex,1)
                    wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).update({
                        data:{
                            starList: res.data.starList
                        },
                        success(res){       
                            console.log("starClick()事件-之前已收藏过,当前返回的资源res:",res)
                            wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                                success(res){
                                    // console.log("likeClick()事件-当前luntan页面从云数据库获取到的app.globalData.currentTargetTieZiId数据，即res.data有：",res.data)
                                     //转换时间格式：
                                     res.data.posttime=util.formatTime(new Date(res.data.posttime));
                                    // 在每次刷新时都保证原有的时间格式：  
                                        for(var j in res.data.commentList){    
                                            res.data.commentList[j].time=util.formatTime(new Date(res.data.commentList[j].time));    
                                        }
                                            // 在每次刷新时都保证原有的收藏状态：  
                                        for(var t in res.data.starList){
                                            if(res.data.starList[t]==app.globalData.openid){
                                                // 若检测到starList列表有当前用户id，会新增一个isStar属性：
                                                res.data.isStar=true
                                            }else{
                                                res.data.isStar=false
                                            }
                                    }
  
                                    that.setData({
                                        currentTizi: res.data
                                    })
                                }
                            })
                        }
                     }) 
                    }

                    that.setData({
                        myStarImgUrl:startag?"/images/shoucang.png":"/images/shoucang-h.png"
                    })
                    startag=!startag
                }
            })
        }
    },
        
    // 3.删除动态：
    deleteDongTai(){   
        wx.showModal({
            title: '提示',
            content: '是否确定删除动态？',
            confirmColor:"	#3CB371",
            cancelColor:"#696969",
            success (res) {
              if (res.confirm) {
                console.log('用户点击确定')       
                var that=this 
                wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).remove({
                    success(res){
                        console.log(res) 
                        // 删除成功后需要重新刷新页面
                        wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                            success(res){
                                 //转换时间格式：
                                 res.data.posttime=util.formatTime(new Date(res.data.posttime));
                                that.setData({
                                    currentTizi: res.data
                                })
                            }
                        })
                        setTimeout(function(){
                           // 同时返回到luntan页面：
                            wx.navigateBack({
                                url: '/pages/luntan/luntan',
                            })
                        },1000)
                        wx.showToast({
                            title: '删除成功！',
                          })
                    }
                })
              } else if (res.cancel) {
                console.log('用户点击取消')
              }
            }
          })
    }, 
 


    // 4.每次显示页面：
    onShow(){
        let likeState=false;
        let starState=false;
        var that=this
        // 4.1 设置一个延时——2s之后再把【app.js全局文件中的onload方法】获取到的当前登录用户的全局app.globalData.openid赋值给myOpenid再判断相等不等，不然同时的话，这边获取的app.globalData.openid就显示为空 
        setTimeout(function(){
            // console.log("luntandetail页面-onShow()打印信息-目前获取到的当前登录用户的全局app.globalData.openid是：",app.globalData.openid)
            that.setData({
                myOpenid:app.globalData.openid
            })
        },50)

        // 4.2 获取全局文件app.js中的app.globalData.currentTieZiId，根据指定id查找使luntandetail页面仅显示当前一个帖子的细节。
        var currentTZid=app.globalData.currentTargetTieZiId
        //  console.log("luntandetail页面-onShow()事件-目前获取的该帖子的app.globalData.currentTargetTieZiId：",currentTZid)
       wx.cloud.database().collection("yizhu-Info").doc(currentTZid).get({
        success(res){
            // console.log("luntandetail页面-onShow()事件-.collection('yizhu-Info').doc(currentTZid).get后的res:",res.data)
            // 4.2.1 转换时间格式：
            res.data.posttime=util.formatTime(new Date(res.data.posttime));
            for(var l in res.data.commentList){
                res.data.commentList[l].time=util.formatTime(new Date(res.data.commentList[l].time));
            } 

            // 更新starState状态：
            res.data.starList.forEach(item=>{
                if(item== app.globalData.openid){
                    shouchangState=true;
                    res.data.isStar=true
                }
            })      
     
            console.log(shouchangState)
            console.log(res.data)
            // 4.2.2 把res.data,即当前帖子整个记录列表，赋值到一个新数组currentTizi：
            that.setData({
                currentTizi:res.data,
                myLikeImgUrl:likeState?"/images/like-h.png":"/images/like.png",
                myStarImgUrl:shouchangState?"/images/shoucang-h.png":"/images/shoucang.png"
            })
        }
       })
    },

    //5.获取评论列表：
    //5.1 (后端)获取页面下方input输入的评论内容——这里的参数e是用来【接收】页面input输入的内容
    getCommentInput(e){
        console.log("触发getCommentInput方法-接收页面下方input输入的评论内容是：",e.detail.value)
        this.data.commentValue=e.detail.value
    },

    // 5.2 发送评论——绑定在[发送send]按钮
    sendComment(){
        var that=this
        // 如果用户还没有授权/登录，则显示弹出层提醒登录：
        if(app.globalData.userInfo==null){
            this.setData({ show: true });
        }
        // 如果用户已经授权/登录： 
        else if(this.data.commentValue!=null)
        {
            wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                success(res){
                    // console.log("sendComment()方法-查询当前帖子的id后返回到res数据是：",res)
                    var sendCommentInfo={}
                    sendCommentInfo.text=that.data.commentValue
                    if(sendCommentInfo.text!=null){
                            sendCommentInfo.time=Date.now()
                            res.data.commentList.push(sendCommentInfo)

                            wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).update({
                                data:{
                                    // 首先likeList是一个数组，数组里定义对象，这个对象存放用户的openid,用户昵称nickName,和用户头像headImg
                                    commentList:res.data.commentList
                                },
                                success(res){
                                    wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                                        success(res){
                                            // 转换时间格式：
                                            res.data.posttime=util.formatTime(new Date(res.data.posttime));

                                            //转换评论时间格式：
                                            for(var l in res.data.commentList){
                                                res.data.commentList[l].time=util.formatTime(new Date(res.data.commentList[l].time));
                                            } 

                                            that.setData({
                                                currentTizi: res.data,
                                                commentValue:null,
                                                commentInputValue:"",
                                                placeHolder:"这里可以添加附加备注哟..."
                                            })
                                            console.log("sendComment()方法-当前评论列表信息commentList：",that.data.currentTizi.commentList )
                                        } 
                                    })
                                }
                            })
                }
            }
            })
        }
    },

   // 6.删除评论：
    deleteComment(event){
        var that=this
        // event.currentTarget.dataset.index是具体特定的评论的Id
        // console.log(event.currentTarget.dataset.index)
        console.log("触发delete")
        wx.showModal({
            title: '提示',
            content: '是否确定删除备注？',
            confirmColor:"	#3CB371",
            cancelColor:"#696969",
            success (res) {
            if (res.confirm) {
                    var deleCommentIndex=event.currentTarget.dataset.index
                    wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).get({
                        success(res){
                            res.data.commentList.splice(deleCommentIndex,1)
                            wx.cloud.database().collection("yizhu-Info").doc(app.globalData.currentTargetTieZiId).update({
                                data:{
                                    commentList:res.data.commentList
                                },
                                success(res){
                                    wx.showToast({
                                    title: '删除成功！',
                                    })
                                    that.onShow()
                                }
                            })
                        }
                    })
            } else if (res.cancel) {
                console.log('用户点击取消')
            }
            }
        })
    },

    //7.放大预览图片：
     previewImg(e){
        console.log("测试测试")
            var that=this;
            console.log(e.currentTarget.dataset.src)
            wx.cloud.database().collection("yizhu-Info").where({
                _openid:app.globalData.openid,
                images:e.currentTarget.dataset.src
            }).get({
                success(res){
                   console.log(res.data[0].images)
                
                    wx.previewImage({
                        current:e.currentTarget.dataset.src,
                        urls:res.data[0].images,
                      })
                 }
            }) 
        },
        
    // 8.打开微信信息地图详情-openLocation()
    openLocation(e){
        console.log(e.currentTarget.dataset.index)
        var that =this;
        wx.cloud.database().collection("yizhu-Info").doc(e.currentTarget.dataset.index).get({
            success(res){
                console.log("openLocation()-当前帖子经度：",res.data.latitude)
                wx.openLocation({
                    latitude:res.data.latitude,
                    longitude:res.data.longitude,
                })
                }
            })
    }
})